<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

<script>
    const getJSON = function(url){
        const myPromise = new Promise(function(resolve,reject){
            const handler = function(){
                if(this.readyState !== 4){// 判断是否请求完成 如果没有完成 则返回
                    return;
                }
                if(this.status === 200){
                    resolve(this.response);
                }else{
                    reject(new Error(this.statusText))
                }
            }
            // 异步操作 网络请求
            const client = new XMLHttpRequest();// 创建一个请求
            client.open("GET",url); // 设置请求地址和请求方式
            client.onreadystatechange = handler; // 监听请求状态
            client.responseType = "json"; // 设置请求返回的数据类型
            client.setRequestHeader("Accept","application/json"); // 设置请求头
            client.send();// 发送请求
        })
        return myPromise;
    }

    const url = getJSON("https://api.github.com/users/github");

    url
    .then(function(data){
        console.log(data)
    })
    .catch(function(error){
        console.log(error)
    })
</script>